<?php

require_once(FILE_DB_STATSTATISTIEK);
require_once(FILE_DB_STATSTATIESTIEKINTERFACE);
/*
  --- PROJECT COFELY 2012, STATISTIEKENRAPPORT DATAKLASSE TBM--
  @author: Leander Molegraaf
  @category: statistieken
  @name DbStatTBM

  @uses DbStatStatistiekInterface.php (interface)
  @see DbStatStatistiek

  @version 2.0.1
  datum: 10-05-2012

  BESCHRIJVING:
  Deze klasse initieerd de statistiek database klassen, door de profitcenters en gebruikers in te vullen met de juiste informatie.
  Het doet dit voor een TOOLBOXMETING

  OPMERKINGEN:
  - gebruik DbStatTBM.php voor een toolboxmeting, de functionaliteit is verder identiek.
  - changelog en werking zijn gelijk aan die van DbStatWPI, dus hier weg gehaald
 */

class DbStatTBM extends DbStatStatistiek implements DbStatStatistiekInterface {

    private $aantalOperationeel; //int

    /**
     * constructor
     * @param int $beginFilterPeriodeMaand de maand vanaf wanneer gefilterd moet worden
     * @param int $beginFilterPeriodeJaar de jaar vanaf wanneer gefilterd moet worden
     * @param int $eindFilterPeriodeMaand de maand tot wanneer gefilterd moet worden
     * @param int $eindFilterPeriodeJaar de jaar tot wanneer gefilterd moet worden
     * @since Version 1.0
     */

    public function __construct($beginFilterPeriodeMaand, $beginFilterPeriodeJaar, $eindFilterPeriodeMaand, $eindFilterPeriodeJaar) {
        $this->setBeginFilterPeriodeJaar($beginFilterPeriodeJaar);
        $this->setEindFilterPeriodeJaar($eindFilterPeriodeJaar);
        $this->setBeginFilterPeriodeMaand($beginFilterPeriodeMaand);
        $this->setEindFilterPeriodeMaand($eindFilterPeriodeMaand);
        $this->setFormulierType(STAT_TOOLBOXMEETING);
        parent::__construct($beginFilterPeriodeMaand, $beginFilterPeriodeJaar, $eindFilterPeriodeMaand, $eindFilterPeriodeJaar);

        $this->selectDBGegevens();
    }

    public function getAantalOperationeel() {
        return $this->aantalOperationeel;
    }

    public function setAantalOperationeel($aantalOperationeel) {
        $this->aantalOperationeel = $aantalOperationeel;
    }

    /**
     * vult de database met relevante gegevens
     * @name selectDBGegevens
     * @since Version 1.0
     * @return void
     */
    public function selectDBGegevens() {
        if (!$this->profitcenterLijst == null) {
            $profitcenter = $this->profitcenterLijst;
            for ($nummer = 0; $nummer < count($profitcenter); $nummer++) {
                $profitcenter[$nummer]->formulierType = STAT_TOOLBOXMEETING;

                if (!$profitcenter[$nummer]->gebruikersLijst == null) {
                    $gebruiker = $profitcenter[$nummer]->gebruikersLijst;
                    $aantalOperationeel = 0;

                    for ($loop = 0; $loop < count($gebruiker); $loop++) {
                        $aantalOperationeel += $gebruiker[$loop]->getWPIPlichtig();
                    }
                    $profitcenter[$nummer]->setWPIPlichtig($aantalOperationeel);
                } else {
                    echo(STAT_ERROR_GEEN_GEBRUIKERS);
                }
            }
        } else {
            echo(STAT_ERROR_GEEN_PROFITCENTERS);
        }
    }

}

?>